import AppView.*;
import Listeners.*;
import RuntimeInfo.State;

import javax.swing.*;
import java.awt.*;


public class MiniCAD extends JFrame{

    JMenuBar menu;
    JPanel util,canvas,info;

    /**
     * 初始化主窗口对象
     */
    MiniCAD(){
        super("miniCAD");
        setLayout(new BorderLayout());  // 设置为边框布局

        setSize(1200,700); // 设置窗口大小
        setLocationRelativeTo(null); // 设置窗口显示在屏幕中央

        // 以下四行添加并初始化界面整体元素
        setMenu();
        setUtilSection();
        setCanvasSection();
        setInfoBar();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }



    /**
     * 为界面添加菜单
     */
    void setMenu(){
        menu = new MenuSection();
        MenuListeners.menu = (MenuSection) menu; //为MenuListeners绑定MenuSection
        setJMenuBar(menu);
    }

    /**
     * 为界面添加绘图工具模块
     */
    void setUtilSection(){
        util = new UtilSection();
        UtilListeners.util = (UtilSection) util; // 为UtilListeners绑定UtilSection
        add(util,BorderLayout.WEST);
    }

    /**
     * 为界面添加绘图画板模块
     */
    void setCanvasSection(){
        canvas = new CanvasSection();
        State.canvas = (CanvasSection) canvas;
        add(canvas,BorderLayout.CENTER);

    }

    /**
     * 为界面添加信息条模块
     */
    void setInfoBar(){
        info = new InfoBar();
        add(info,BorderLayout.SOUTH);
    }


    public static void main(String[] args){
        new MiniCAD();
    }



}



